<?php
namespace app\api\controller;

use app\api\model\Role as RoleModel;
use think\Controller;
use think\Db;

class Role
{

    /*
     *  权限管理
     *  全站使用post
     *  2018-12-13
     *  add(添加) edit(修改）index(列表) delete(删除)
     *  'code'  http状态  msg 返回数据提示  result 成功ok 失败 error,
     *
     */

    //   添加权限
    public function add()
    {
        if (!($_POST)) {

            return json([
                'code' => 400,
                'msg' => '请求错误,请使用POST',
            ]);
        } else {
            $role['roleid'] = $_POST['roleid']; //权限ID
            $role['rolename'] = $_POST['rolename']; //权限名
            $role['rolecode'] = $_POST['rolecode']; //权限编码
            $role['addtime'] = date('Y-m-d', time()); //添加时间
            $role['addperson'] = 'admin'; // $_POST['addperson']; //添加人

            if ($_POST['menuid'] != "") {

                $role['menuid'] = $_POST['menuid'];
            }

            if ($result = RoleModel::create($role)) {
                return json([
                    'result' => 'ok',
                    'msg' => '添加成功',
                ]);

            } else {

                return json([
                    'result' => 'error',
                    'msg' => '添加失败',
                ]);
            }
        }
    }

    //   修改用户
    public function edit()
    {
        if (!($_POST)) {

            return json([
                'code' => 400,
                'msg' => '请求错误,请使用POST',
            ]);

        } else {

            $id = $_POST['roleid']; //用户ID
            if ($id == "") {

                return json([
                    'code' => 400,
                    'msg' => 'id没传呀',
                ]);
            }
            $role = RoleModel::get($id);
            if ($role == "") {

                return "id 错误";
            }
            $role['roleid'] = $role['roleid']; //权限ID
            $role['rolename'] = $_POST['rolename'] != "" ? $_POST['rolename'] : $role->rolename; //权限名
            $role['addtime'] = date('Y-m-d', time()); //添加时间
            $role['addperson'] = $_POST['addperson'] != "" ? $_POST['addperson'] : $role->addperson; //添加人
            if (empty($_POST['menuid'])) {

                $role['menuid'] = $_POST['menuid'];
            }

            $res = $role->save();

            if ($res) {

                return json([
                    'result' => 'ok',
                    'msg' => '更新成功',
                ]);

            } else {

                return json([
                    'result' => 'error',
                    'msg' => '更新失败',
                ]);
            }
        }
    }

    // 获取列表
    public function index()
    {

        $list = RoleModel::all();
        $count = Db::name('role')->count();
        return json(['result' => 'ok', 'data' => $list, 'count' => $count]);
    }

    public function getID()
    {
        if (!($_POST)) {

            return json([
                'code' => 400,
                'msg' => '请求错误,请使用POST',
            ]);

        } else {
            $id = $_POST['roleid'];
            $role = RoleModel::get($id);

            return json(['result' => 'ok', 'data' => $role]);
        }

    }

// 删除数据
    public function delete()
    {
        $id = $_POST['roleid']; //用户ID

        if (!($_POST)) {
            return json([
                'code' => 400,
                'msg' => '请求错误,请使用POST',
            ]);
        } else {

            if ($id == "") {
                return json([
                    'code' => 400,
                    'msg' => 'id没传呀',
                ]);
            }

            $role = RoleModel::get($id);

            if ($role) {
                $role->delete();
                return json([
                    'result' => 'ok',
                    'msg' => '删除权限成功',
                ]);

            } else {
                return json([
                    'result' => 'error',
                    'msg' => '删除权限失败',
                ]);
            }
        }
    }

}
